Building language towers with Ziggurat
نویسندگان
چکیده
Ziggurat is a meta-language system that permits programmers to develop Scheme-like macros for languages with nontrivial static semantics, such as C or Java (suitably encoded in an S-expression concrete syntax). Ziggurat permits language designers to construct “towers” of language levels with macros; each level in the tower may have its own static semantics, such as type systems or flow analyses. Crucially, the static semantics of the languages at two adjacent levels in the tower can be connected, allowing improved reasoning power at a higher level to be reflected down to the static semantics of the language level below. We demonstrate the utility of the Ziggurat framework by implementing higher-level language facilities as macros on top of an assembly language, utilizing static semantics such as termination analysis, a polymorphic type system and higher-order flow analysis.
منابع مشابه
Ziggurat Revisited
Random numbers following a Standard Normal distribution are of great importance when using simulations as a means for investigation. The Ziggurat method (Marsaglia and Tsang, 2000; Leong, Zhang, Lee, Luk, and Villasenor, 2005) is one of the fastest methods to generate normally distributed random numbers while also providing excellent statistical properties. This note provides an updated impleme...
متن کاملInvestigating the role of high-rise building shell elements in reducing energy consumption (case example: Isfahan Cascade doctors' residential towers)
Significant energy is used to provide and maintain environmental conditions for thermal comfort in high-rise residential buildings, which largely depends on the components of the shell design. Therefore, to achieve high amounts of energy savings in buildings, high-impact design measures must first be defined and then optimized. This study seeks to answer the question of how the components of th...
متن کاملA modified ziggurat algorithm for generating exponentially- and normally-distributed pseudorandom numbers
The Ziggurat Algorithm is a very fast rejection sampling method for generating PseudoRandom Numbers (PRNs) from statistical distributions. In the algorithm, rectangular sampling domains are layered on top of each other (resembling a ziggurat) to encapsulate the desired probability density function. Random values within these layers are sampled and then returned if they lie beneath the graph of ...
متن کاملZiggurat: A new data model and indexing format for large annotated text corpora
The IMS Open Corpus Workbench (CWB) software currently uses a simple tabular data model with proven limitations. We outline and justify the need for a new data model to underlie the next major version of CWB. This data model, dubbed Ziggurat, defines a series of types of data layer to represent different structures and relations within an annotated corpus; each such layer may contain variables ...
متن کاملA Comment on the Implementation of the Ziggurat Method
We show that the short period of the uniform random number generator in the published implementation of Marsaglia and Tsang’s Ziggurat method for generating random deviates can lead to poor distributions. Changing the uniform random number generator used in its implementation fixes this issue.
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- J. Funct. Program.
دوره 18 شماره
صفحات -
تاریخ انتشار 2008